Many hardware systems comprise storage devices and have internal networks or interfaces to external networks. Data is stored in the storage devices and transmitted across the networks. Some systems compress the data before transmitting it across a network and/or before storing it in a storage device to alleviate bandwidth problems that might otherwise occur if the data was not compressed. Some compression algorithms are “lossy” and other compression algorithms are “lossless.” A lossy algorithm encodes data using inexact approximations and discards partial data. In lossy compression, the exact original input data is not recoverable due to removal of information during the compression process and only an approximation of the original input data is recoverable. Lossless compression does not degrade the data—the original input data can be recovered precisely. Lossy compression is often used to compress multimedia data such as audio, video and images in which some degradation is acceptable. Lossless compression often is used to compress text and data files such as bank records and text articles in which loss of information content may be unacceptable.